package com.csi.bumblebee.mapper;

import com.csi.bumblebee.domain.manage.Account;
import com.csi.bumblebee.domain.manage.AccountRole;
import com.csi.bumblebee.domain.manage.Role;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 孙伟俊
 */
@Mapper
public interface ManageMapper {

    /**
     * 查询用户所拥有的的所有权限(路径)
     * @param id 用户Id
     * @param requestMethod 请求方式
     * @return 集合
     */
    List<String> findRequestPath(@Param("id") String id, @Param("requestMethod") String requestMethod);

    /**
     * 展示所有的管理员账号
     * @return List<Account>
     */
    List<Account> list();

    /**
     * 增加管理员账号
     * @param account 对象
     * @return 影响行数
     */
    int add(Account account);

    /**
     * 删除管理员账号
     * @param id 主键Id
     * @return 影响行数
     */
    int delete(String id);

    /**
     * 登录
     * @param account 对象
     * @return account对象
     */
    Account login(String username,String password);

    /**
     * 展示所有的角色
     * @return List<Role>
     */
    List<Role> listAllRole();

    /**
     * 增加用户角色关联
     * @param accountRole 对象
     * @return 影响行数
     */
    int insertAccountRole(AccountRole accountRole);

}
